package com.gss.armory.form;

import java.io.Serializable;

import org.hibernate.validator.constraints.NotBlank;

import com.gss.common.util.ApplicationMaps;
import com.gss.common.util.ApplicationUtilities;

public class DocumentCustodianDetailsForm extends WorkFlowForm implements Serializable {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private int interrorCount;
	private long vaultId;
	@NotBlank
	private String vaultNumber;
	@NotBlank
	private String vaultLocation;
	@NotBlank
	private String custodianName;
	@NotBlank
	private String custodianId;
	@NotBlank
	private String custodianDesig;
	private String custodianLoc;
	private String custodianDeptt;
	private Long custodianLocId;
	private Long custodianDepttId;
	private String custodianLocName;
	private String custodianDepttName;
	private String docName;
	private String docCode;
	
	
	private String remarks;
	private long docId;
	
	private int docTypeId;
	private String dtName;
	
	private int docCategoryId;
	private String dcName;
	
	private int docSubCategoryId;
	private String dscName;
	
	private long docLocId;
	private String ldName;
	
	private long docDepttId;
	private String ddName;
	
	private Integer docCompanyId;
	private String docCompanyName;
	
	public int getDocTypeId() {
		return docTypeId;
	}
	public String getDtName() {
		return dtName;
	}
	public void setDocTypeId(int docTypeId) {
		this.docTypeId = docTypeId;
		setDtName(ApplicationMaps.DOCUMENT_TYPE_ID_NAME_MAP.get(docTypeId));
	}
	public void setDtName(String dtName) {
		//this.dtName = ApplicationMaps.DOCUMENT_TYPE_ID_NAME_MAP.get(docTypeId);
		this.dtName = dtName;
	}
	
	public int getDocCategoryId() {
		return docCategoryId;
	}
	public String getDcName() {
		return dcName;
	}
	public void setDocCategoryId(int docCategoryId) {
		this.docCategoryId = docCategoryId;
		setDcName(ApplicationMaps.DOCUMENT_CAT_ID_MAP.get(docCategoryId));
	}
	public void setDcName(String dcName) {
		this.dcName = dcName;
	}
	
	public int getDocSubCategoryId() {
		return docSubCategoryId;
	}
	public String getDscName() {
		return dscName;
	}
	public void setDocSubCategoryId(int docSubCategoryId) {
		this.docSubCategoryId = docSubCategoryId;
		setDscName(ApplicationMaps.DOCUMENT_SUB_CAT_ID_MAP.get(docSubCategoryId));
	}
	public void setDscName(String dscName) {
		//this.dscName = ApplicationMaps.DOCUMENT_SUB_CAT_ID_MAP.get(docSubCategoryId);
		this.dscName = dscName;
	}
	
	public long getDocLocId() {
		return docLocId;
	}
	public String getLdName() {
		return ldName;
	}
	
	public void setDocLocId(long docLocId) {
		this.docLocId = docLocId;
		setLdName(ApplicationMaps.LOCID_LOCNAME_MAP.get(docLocId));
	}
	public void setLdName(String ldName) {
		this.ldName = ldName;
	}
	
	public long getDocDepttId() {
		return docDepttId;
	}
	public String getDdName() {
		return ddName;
	}
	public void setDocDepttId(long docDepttId) {
		this.docDepttId = docDepttId;
		setDdName(ApplicationMaps.DEPTID_DEPTSNAME_MAP.get(docDepttId));
	}
	public void setDdName(String ddName) {
		//this.ddName = ApplicationMaps.DEPTID_DEPTSNAME_MAP.get(docDepttId);
		this.ddName = ddName;
	}
	
	public String getVaultNumber() {
		return vaultNumber;
	}
	public void setVaultNumber(String vaultNumber) {
		this.vaultNumber = vaultNumber;
	}
	public String getVaultLocation() {
		return vaultLocation;
	}
	public void setVaultLocation(String vaultLocation) {
		this.vaultLocation = vaultLocation;
	}
	public String getCustodianName() {
		return custodianName;
	}
	public void setCustodianName(String custodianName) {
		this.custodianName = custodianName;
	}
	public String getCustodianId() {
		return custodianId;
	}
	public void setCustodianId(String custodianId) {
		this.custodianId = custodianId;
	}
	public String getCustodianDesig() {
		return custodianDesig;
	}
	public void setCustodianDesig(String custodianDesig) {
		this.custodianDesig = custodianDesig;
	}
	public String getCustodianLoc() {
		return custodianLoc;
	}
	public void setCustodianLoc(String custodianLoc) {
		this.custodianLoc = custodianLoc;
	}
	public String getCustodianDeptt() {
		return custodianDeptt;
	}
	public void setCustodianDeptt(String custodianDeptt) {
		this.custodianDeptt = custodianDeptt;
	}
	public Long getCustodianLocId() {
		return custodianLocId;
	}
	public void setCustodianLocId(Long custodianLocId) {
		this.custodianLocId = custodianLocId;
		if(ApplicationUtilities.checkIfNullOrBlank(custodianLocName))
			setCustodianLocName(ApplicationMaps.LOCID_LOCNAME_MAP.get(this.custodianLocId));
	}
	public Long getCustodianDepttId() {
		return custodianDepttId;
	}
	public void setCustodianDepttId(Long custodianDepttId) {
		this.custodianDepttId = custodianDepttId;
		if(ApplicationUtilities.checkIfNullOrBlank(custodianDepttName))
			setCustodianDepttName(ApplicationMaps.DEPTID_DEPTSNAME_MAP.get(this.custodianDepttId));
	}
	public int getInterrorCount() {
		return interrorCount;
	}
	public void setInterrorCount(int interrorCount) {
		this.interrorCount = interrorCount;
	}
	public String getRemarks() {
		return remarks;
	}
	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}
	public long getDocId() {
		return docId;
	}
	public void setDocId(long docId) {
		this.docId = docId;
	}
	public String getCustodianLocName() {
		return custodianLocName;
	}
	public String getCustodianDepttName() {
		return custodianDepttName;
	}
	public void setCustodianLocName(String custodianLocName) {
		this.custodianLocName = custodianLocName;
	}
	public void setCustodianDepttName(String custodianDepttName) {
		this.custodianDepttName = custodianDepttName;
	}
	public String getDocName() {
		return docName;
	}
	public void setDocName(String docName) {
		this.docName = docName;
	}
	public String getDocCode() {
		return docCode;
	}
	public void setDocCode(String docCode) {
		this.docCode = docCode;
	}
	public long getVaultId() {
		return vaultId;
	}
	public void setVaultId(long vaultId) {
		this.vaultId = vaultId;
	}

	
	public Integer getDocCompanyId() {
		return docCompanyId;
	}
	public void setDocCompanyId(Integer docCompanyId) {
		this.docCompanyId = docCompanyId;
		setDocCompanyName(ApplicationMaps.COMPANYID_COMPANY_MAP.get(docCompanyId).getCdName());
	}
	public String getDocCompanyName() {
		return docCompanyName;
	}
	public void setDocCompanyName(String docCompanyName) {
		this.docCompanyName = docCompanyName;
	}
}
